#ifndef NF_SOCS_CORE_H
#define NF_SOCS_CORE_H

struct grehdr {

#if defined(__LITTLE_ENDIAN_BITFIELD)
	__u8	recursion_control: 3,
			strict_source_route_bit: 1,
			sequence_number_bit: 1,
			key_bit: 1,
			routing_bit: 1,
			checksum_bit: 1;
	__u8	flags: 5,
			version: 3;

	__u16   nexthdr;
#elif defined (__BIG_ENDIAN_BITFIELD)
	__u16   nexthdr;

	__u8    checksum_bit: 1,
			routing_bit: 1,
			key_bit: 1,
			sequence_number_bit: 1,
			strict_source_route_bit: 1,
			recursion_control: 3;

	__u8	flags: 5,
			version: 3;
#endif

};


int core_v4(struct sk_buff *skb);
int core_v6(struct sk_buff *skb);
int hello_core4(struct sk_buff *skb);
int hello_core6(struct sk_buff *skb);

#endif
